package com.hw.one.dam2.dao;

import java.util.List;
import java.util.Map;

import com.hw.one.dam2.param.QualityGoalParam;
import com.hw.one.dam2.param.RegionSiteParam;
import org.mybatis.spring.support.SqlSessionDaoSupport;

import com.hw.one.dam2.param.SmallAirParam;


public class RegionSiteDao extends SqlSessionDaoSupport implements IRegionSiteDao {

    @Override
    public List<Map<String, Object>> findSiteInfoByRegionCode(String regionCode) throws Exception {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSiteInfoByRegionCode(regionCode);
    }

    @Override
    public List<Map<String, Object>> findSiteInfoBySiteCode(List<String> siteCodeList) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSiteInfoBySiteCode(siteCodeList);
    }

    @Override
    public List<Map<String, Object>> findRegionInfoByRegionCode(List<String> regionCodeList) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findRegionInfoByRegionCode(regionCodeList);
    }

    @Override
    public List<Map<String, Object>> findRegionListByRegionType(Map<String, String> regoinTypeMap) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findRegionListByRegionType(regoinTypeMap);
    }

    @Override
    public List<Map<String, Object>> findRegionListByRankingType(Map<String, String> regoinTypeMap) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findRegionListByRankingType(regoinTypeMap);
    }

    @Override
    public List<Map<String, Object>> findSiteInfoByRegionCodeAndSiteType(RegionSiteParam paraMap) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSiteInfoByRegionCodeAndSiteType(paraMap);
    }

     @Override
    public List<Map<String, Object>> findSiteInfoByRegionCodeAndSiteTypeWithSNCode(RegionSiteParam paraMap) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSiteInfoByRegionCodeAndSiteTypeWithSNCode(paraMap);
    }

    @Override
    public List<Map<String, Object>> findParentRegionInfoByRegionCode(String regionCode) throws Exception {
        return getSqlSession().getMapper(IRegionSiteDao.class).findParentRegionInfoByRegionCode(regionCode);
    }
    @Override
    public List<Map<String, Object>> findSonRegionInfoByRegionCode(String regionCode) throws Exception {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSonRegionInfoByRegionCode(regionCode);
    }

    @Override
    public List<Map<String, Object>> findSubRegionInfoByRegionCode(Map<String, Object> paramMap) throws Exception {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSubRegionInfoByRegionCode(paramMap);
    }

    @Override
    public List<Map<String, Object>> findRegionInfoByRegionName(Map<String, Object> paramMap) throws Exception {
        return getSqlSession().getMapper(IRegionSiteDao.class).findRegionInfoByRegionName(paramMap);
    }

    @Override
    public List<Map<String, Object>> findSmallPointInfoBySiteCodeAndPointType(SmallAirParam paramSmallPO) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSmallPointInfoBySiteCodeAndPointType(paramSmallPO);
    }

    @Override
    public List<Map<String, Object>> findIndustyOutputNameBySiteCode(List<String> siteCodeList) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findIndustyOutputNameBySiteCode(siteCodeList);
    }

    @Override
    public Map<String, Object> findRegionInfoById(String regionCode) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findRegionInfoById(regionCode);
    }

    @Override
    public List<Map<String, Object>> findAirQualityGoalByRegionCode(QualityGoalParam qualityGoalParam) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findAirQualityGoalByRegionCode(qualityGoalParam);
    }

    @Override
    public List<Map<String, Object>> findSiteMonitorSetBySnCode(Map<String, Object> paramMap) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSiteMonitorSetBySnCode(paramMap);
    }

    @Override
    public Map<String, Object> findSiteMonitorUpdateDateBySnCode(Map<String, Object> map) {
        return getSqlSession().getMapper(IRegionSiteDao.class).findSiteMonitorUpdateDateBySnCode(map);
    }

	@Override
	public List<Map<String, Object>> findSiteInfoBySiteTypes(Map<String, Object> map) {
		return getSqlSession().getMapper(IRegionSiteDao.class).findSiteInfoBySiteTypes(map);
	}

	/**
	 * 通过区域编码 和 点位类型的集合，获取点位信息
	 * @author songjundan
	 * @param paraMap
	 * @return
	 * @throws Exception
	 */
	@Override
	public List<Map<String, Object>> findSiteNumSiteType(Map<String, Object> map) {
		
	     return getSqlSession().getMapper(IRegionSiteDao.class).findSiteNumSiteType(map);
	}

}
